# swing.exe 程序所在路径
readonly swig="./swigwin-4.0.2/swig"
# 接口文件所在目录
readonly IFDir="./cpp"
# 导出的语言文件所在目录
readonly ExportLangDir="./cs"

function FileSuffix() {
    local filename="$1"
    if [ -n "$filename" ]; then
        echo "${filename##*.}"
    fi
}

function IsSuffix() {
    local filename="$1"
    local suffix="$2"
    if [ "$(FileSuffix ${filename})" = "$suffix" ]; then
        return 0
    else
        return 1
    fi
}

ret=1

# # 将目录 IFDir 下的接口文件自动生成指定语言
for file in $(ls $IFDir); do
    if [ -e "$IFDir/$file" ]; then
        IsSuffix ${file} "i"
        ret=$?
        if [ $ret == 0 ]; then
            echo "开始处理 $IFDir/$file"
            $swig -outdir $ExportLangDir -csharp "$IFDir/$file"
            echo "完成处理 $IFDir/$file"
        fi
    fi
done

# 等待文件生成完成，这里没法精确判断，只能采取等待固定时间来解决



# # 将 IFDir 下面 c文件移动到 ExportCPP 目录下
# for file in $(ls $IFDir); do
#     if [ -e "$IFDir/$file" ]; then
#         IsSuffix ${file} "c"
#         ret=$?
#         pwd
#         if [ $ret == 0 ]; then
#             mv -f "$IFDir/$file" "$ExportCPP"
#             echo "移动文件 $IFDir/$file --> $ExportCPP/$file"
#         fi
#     fi
# done

echo 按任意键退出
read -n 1
